package com.asset.dispoal.file.evidenceRecognition.domain.db.mapper;

import com.asset.dispoal.file.evidenceRecognition.domain.db.entity.EvidenceRecognition;
import com.asset.dispoal.file.evidenceRecognition.domain.db.entity.EvidenceTypeFileDo;
import com.asset.dispoal.file.evidenceRecognition.domain.dto.AliasCodeDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author qr
 * @date 2022/4/14$
 */
@Mapper
public interface EvidenceRecognitionMapper {


    /**
     * 证据添加
     *
     * @param evidenceRecognitionDO
     */
    void insertEvidenceMapper(@Param("evidenceRecognitionDO") EvidenceRecognition evidenceRecognitionDO);

    void insertEvidenceMapperDetail(@Param("id") String generateId,
                                    @Param("evidenceId") String id, @Param("alias") String dsKey,
                                    @Param("result") String dsValue);

    List<EvidenceTypeFileDo> queryNotMatchByEvidenceType(@Param("assetInstBatchId") String assetInstBatchId, @Param("evidenceTypeId") String typeValue);

    List<EvidenceTypeFileDo> queryNotMatchByRecordId(@Param("assetInstBatchId") String assetInstBatchId, @Param("recordAllId") String typeValue);

    Integer deleteByEvidenceId(@Param("evidenceId") String evidenceId);

    String queryAliasByActionKey(@Param("actionKey") String actionKey);

    List<AliasCodeDTO> queryCodesById(@Param("keyIds") Set<String> keyIds);

    List<Map<String, Object>> queryContractInfo(@Param("codes") List<AliasCodeDTO> codes, @Param("assetInstBatchId") String assetInstBatchId);

    Integer insertEvidenceMapperRecord(@Param("id") String id,
                                       @Param("evidenceBatchId") String uid,
                                       @Param("evidenceId") String id1,
                                       @Param("createUser") String loginUser);

    void insertEvidenceRecord(@Param("id") String generateId, @Param("assetInstBatchId") String assetInstBatchId,
                              @Param("evidenceBatchId") String generateId1, @Param("recognitionStatus") String number,
                              @Param("createUser") String userId, @Param("isExpedited") String number1,
                              @Param("allRecordId") String generateId2);

    void insertEvidenceRecordAll(@Param("id") String generateId, @Param("matchName") String s,
                                 @Param("isExpedited") String number, @Param("isMatchRecognition") String number1,
                                 @Param("createUser") String userId, @Param("assetInstBatchId") String assetInstBatchId,
                                 @Param("recognitionStatus") String number2, @Param("matchType") String number3);
}
